D2
''' Architecture Overview Information' Brief Description This documnet provides a comprehensive overview of the architecture of the iCare.The document is intended to capture and convey the significant design decisions underlying the architecture of the system.It serves as a communication medium between the software architect team and the stakeholders. Architectural Representation The architecture of the aplication follows the recommendations of 4+1 view Model of software architecture.This view has four interrelated views projected upon by one view. 1)Logical View 2)Process View 3)Implementation View 4)Deployment View 5)Use Case View Architecture Goals The software architecture Description has three different parts that align with the ISO/IEC/IEEE 42010:2011(E) to give a way to create am architecture description.Based on that this document contains the following Information. 1)Identification of the stakeholders and their concerns. 2)Defination of the viewpoints used in the architecture description. 3)Architecture view for each architecture viewpoint used. 4)Architecture rationale decisions. ' Stakeholders and Concerns' 'Stakeholders' '''users (parents,children &Health Authorities )' acquirers(marketers of a team) Creating a software is a task and acceptance of the software among people is the main aim of a project so acceptance of a project is acheived with the help of acquirers (marketers ) developers (software engineers) builders of the system(programmers) system administrators Testers version 2 Stakeholders The following are the stakeholder categories in the architecture of iCare.Table 1 shows the stakeholder category,stakeholder name and their responsibilities on the system. 'Concerns' A concern is a topic of interest or focus Concerns of a user here in this project users need to give the credentials according to the phase here I call the term phase because during registration phase users need to provide credentials which varies from phase to phase both for the parents of the child and health authoritatives . concern of a developer in the requirements developers main concern is all about identifying the requirements and providing the concerned design which inturn provides builders of the system to write the program concerns of builder of the system builder is very much concerned about the writing the program concerns of acquirers acceptance of the project among people version 2 This section lists the stakeholders concerns on the system architecture.The concerns were defined based on the 4+1 View Model of software architecture. users(concerns) 1)Consistency with requirements and usage scenarios This is a user concern where the users expect all their requirements and the usage scenarios of iCare application go together. 2)Privacy This User concern refers to the state of freedom from the intrusion of others into the personal information.Here in our iCare application privacy to the users is provided through the means of authentication. 3)Efficiency It refers to the ability of accomplishment of the tasks with in shorter time period.As far as iCare is concerned,it is the amount of time taken to transfer the data from the patients to the Doctors and vice versa. 4)Usability It is a user concern which refers to the availability of application for use. 5)Quality of service It is a user concern which refers to the quality of service provided by iCare aplliaction under all the specified conditions. 6)Information Assurance It refers to the quality of the information transmitted from patient to Doctor and vice versa through iCare application. 6)Performance It refers to the expectations of the end users of iCare application towards it. 7)Data Accessibility It refers to the availability of the data to the end-users).For patients it is the availabity of doctors information regarding his availability for an appointment and for doctors it is the availablity of patient health record. 2)Non-functional requirements. Performance The users consider iCare application should provide them with good performance. Reliability The users consider iCare application to be reliable because it consists of valuable patients records and doctors information. Security The users consider iCare application to be secured,as patient record contains personal information of the patient and the same with the doctors. 3)Accommodate future requirements. The users consider iCare application to accommodate additional requirements in future to improve the functionality of the application. Owner(concerns) 1)Effectiveness. the effectiveness refers to a diiferent criteria for both customers and owners .owners effectiveness is concerned with how the project contributes to its business. 2)Schedule estimation Schedule estimating consists the list of activities to be performed and sequencing the activities and assign responsibilities ,determine effort and duration of the project 3)Budgeting (low costs, keeping people employed) ' 4)Feasibility and risk management' Feasibity is the measure of how benificary it is to an organization by the develeopment of a system where as risk management is the process to avoid or minimize the risk factor before it effecta the software productivity . 5)Requirements traceability ' It is concerned with the life of requirement document ,it enables the user to keep track of every requirement right from its origin and also if any changes made to the requirement 6)'Progress tracking it discovers the schedule ,cost variances in the project from the base line thus helps to timely take measures to adjust and control the project. Business Goals and Strategies 7)Compliance to regulation It is an Owners concern which comply to the set of rules and regulations. 8)Risk Management ''' It is a owners concern which identifies the potiential threats or risks to the software or an application and to prioritize and to assess them. '''Maintainer(concerns) 1)Maintain compatibility with existing system The developer of iCare application is SOEN6471 Team J.The application is designed such that it supports additional functionality that can be added in the future and maintain that they are compatible with existing system 2)Guidance on software modification refers to all the modifictions that may be done in the future as maintenance activity of iCare due to changes in the requirements 3)Guidance on architecture evolution there must be a guidance / document life cycle about how a system architecure is evolved, which acts as a refernce to the manintainers for any further more modificatins 4)Non-functional requirements Security is the main concern of iCare because the data which is transmitiing from to and for can not be misused if it is done it leads to a serious issue/threat. 5)Traceability It is one of the main concern of the maintainer to diagnoise the system from the risks or threats. 6)Complexity It is the concern of the owners which helps the system to be simple and usable by the end-users. Developer(concerns) 1)Sufficient details for design The developers of iCare application should have sufficient details about iCare Health monitoring system to design it. 2)Reference for selecting/assembling components The developers should also be provided with the reference if available for selecting the specific requirements,so that they can have better knowledge to design the application. 3)Maintain compatibility with existing system The developer of iCare application is SOEN6471 Team J.The application is designed such that it supports additional functionality that can be added in the future and maintain that they are compatible with existing system. 4)Low Coupling ''' the developer of the Icare application is concerned about the low coupling i.e,there must be less number of inter transactions between modules. '''5)High Cohesion The developer of the iCare us concerned about high cohesion i.e, there must be high transfer of information in the module. Correctness Modifiability Assessors(Concerns) Process improvement capability determination Tester(Concerns) Validity completeness consistency Mapping between stakeholders and their concerns 'Viewpoint Definition and Views' General Viewpoint Defination: A viewpoint is a selection of styles, layouts, and conferences for constructing one type of view. It describes the stakeholders whose issues are shown in the perspective and the recommendations, concepts, and template designs for building its opinions or views .''' '''General View Defination: A view is a reflection of one or more structural factors of an architecture that demonstrates how the architecture details one or more issues organized by one or more of its stakeholders. '1.Logical View point' Viewpoint Definition: viewpoint is a specific point which outlines the dependencies and interactions between the applications and system environment.It also outlines about the symbolizations and techniques used to articulate the architecture from the perspective of particular stakeholder and his concerns'.' Stakeholder:'''End -Users(Patients parents,Doctors,Nurse,authorised medical staff) and Maintainers. '''Represenation:Package and component diagrams Component Diagrams provides a physical view of the system,used to show the structural relationships between the components of a system. In component diagram Interface symbols with a complete circle at their end represent an interface that the component provides. · As shown in the diagram, Security component allows Patients,Doctors and Nurses to login. · Component “Patients Parents” provides interface "iparents" and uses interface "iAccesscontrol" · Component Doctors uses the interface iAccessControl from Security and provides interface for iDoctors · Component Nurses or Medical staff provides iStaff interface and it uses iAccesscontrol and iPersistance interface · Mapping between stakeholders and concerns: Mapping between concerns and model representation: 'Logical View:' logical view deals with functionalties provided to the enduser by the system. '2.Process View Point' Viewpoint Definition: process viewpoint deals with the dependecies and interactions between multiple fuctional elements during the runtime. Stakeholder: Integrators(ICT) Concerns: Non Functional Requirements(Concurrency,performance availabilty Software fault tolerance,intigrity )'' '''Representation:'UML class diagram and UML interaction diagram Mapping between stakeholders and concerns: Mapping between concerns and model representation: 'Process View:' '3.Implementation View' Viewpoint Definition: This viewpoint explains functionalities from programmers perspective who develops the executables from the design or architecture produced. (or) The development viewpoint demonstrates a program from a programmer's viewpoint and is concerned with software management. This viewpoint is also known as the execution viewpoint. It uses the UML Component plan to explain program components. UML Blueprints used to signify the growth viewpoint include the Package diagram. Stakeholder:'''Programmers '''Concerns: Software Mangement(organisation,re-use,portability) Representation:'''Package Diagram,component and composite structure diagrams. '''Mapping between stakeholders and concerns: Mapping between concerns and model representation: Package Diagram shows how the various classes are grouped into packages. The users of Icare system can Login to the system first.Doctors and Nursing staff can check patient's health record and current health details of a patient.Doctors can suggest medications to the patient.Nursing staff can Monitor patient's health record and can edit it according to health details of patient.All these goals are cohesive and hence separate packages are made to reach the desired goal with high cohesion and low coupling.Hence each package performs a specific function explicitly in Icare system. 'Implementation View:' '4.Physical View Point' Viewpoint Definition: this viewpoint deals with the physical components of the system and relationships between them.It also explains about the processing of the nodes for depoying the system to the end-user. Stakeholder:System Engineers Concerns:'Scalability.Performance ,availability '''Representation:'Deployment Diagram '''Mapping between stakeholders and concerns: Mapping between concerns and model representation: '5.Usecase View Point' Viewpoint Definition: This viewpoint deals with the important usecases which helps in differentiating the architectural decisions. or The information of an structure is shown using a small set of use situations, or circumstances which become a fifth perspective. The circumstances explain series of communications between things, and between procedures. They are used to recognize structural components and to demonstrate and confirm the structure style. They also provide as a kick off point for assessments of an structure model. This perspective is also known as use case perspective. Stakeholder:Requirement Engineers ,Testers. Concerns:'''Understandability '''Representation: '''UML Use Case Diagrams usecase 1 This diagram describes the success scenario of the iCare application system.The primary actors of the bsystem are Doctors,patients and nurses.The secondary actors of the system are mobile device,admin system and desktop interface who support in completeing the actions performed by the primary actors.All the primary actors are the registered users they need to register themselves using the users registration system. The patients have the privilages to enter their childrens current health information to get updated medical prescription from the doctor,along with that the patient can also access the doctors profile to check for the availability and doctors profile. The doctors have the privilages to view the patient record,update patient profile and then provide them with appropriate medication according to the current health information provided by the patients. The nurses have the privilages to view the patient record and monitor them in a timely manner. usecase2 This diagram describes the user registration system.All the primary actors patients,doctors and nurses register themselves using their patient record number and employ id respectively. usecase 3 This diagram describes the current health information of the children proivided by the parents using the health checkup devices to the doctor to get updated medical prescription accoring to the current health health condition. '''Mapping between stakeholders and concerns: Mapping between concerns and model representation: 'Use Case View:' 'Architectural Decisions' Using Model View Controller Pattern: The opinion to use this model is to accomplish software architecture principle which is separation of concerns and low coupling.User interface requirements changes more rapidly than business rules. Users may prefer different colors, fonts, screen layouts, and levels of support for new devices such as cell phones or PDAs. There is a separation of model from view hence there is no dependency among them which leads to low coupling.Due to low coupling the chances to change the source code is more,hence it leads to flexibility and maintability of system.The data storage system in Icare tend to change less frequently as compared to user interface.Doctor can have different view for the patient information.On the otherhand patient can view his/her own profile in a different view.These views can be changed in timely manner or when needed without making any changes to model and database storage system of Icare Data backup after a regular intervals of time: ' D'ata updated by doctors ,Nurses and patients need to kept as a backup after a regular intervals of time(like 48 hrs) such that there is no data loss in case of failure.The loss of data will lead to serious circumstances to the users of the system(Doctors,Nurses,Patients). Focusing on Generality: I'''care sytem is made in general so that is can be reusable under broader range in the market.Solution to general problem is more applicable than the specific problem.Hence this Icare can be used to make other health information system for an another specific problem by using the general Icare. '''Icare upgrades: Icare '''upgrades are to be performed when minimum users(patients,doctors,nurses) are online.When Icare upgrade is in progress then the application is no longer available to users till the upgradation is complete.Hence it also leads to the prevention of the bad user experience with Icare. '''Proper Documentation: Icare is properly documented so that it will not cause complication for the maintaners.It will help maintainers in depicting inter-module relationships and motivate them to add new functionality to the Icare according to the user needs. Classification of packages: The packages were identified and classify in a way that we can achieve high cohesion between the classes and less coupling between the packages. The idea was to identify classes that were related to each other and where a dependency between then is more likely to occur. Minimize upfront design. In agile development, we avoid big design upfront.A detailed design is not made untill we are clear with the Icare requirements or in the presence of design evolution over time. Model With a Purpose:-''' This requires knowing your stakeholders. Before creating a specific model in Icare we determine its purpose and its stakeholders, and then develop the model until it shows sufficient details and is accurate to serve its goal, while hiding useless details. This architectural decision is related with Module Organization and Design Philosophy concerns. '''Glossary: APPENDIX A: Glossary This is useful. iCare: iCare is a Health Monitoring System which is defined as a software system that is specifically designed for patients, doctors and nurses who are receiving and providing the services respectively to children hospitals in Montreal. Nurse: A person trained to care for the sick or infirm, in a hospital. Patient Record:''' '''It is a record maintained by the hospital management for every patient which contains the detailed information of the patient health condition. This also contains the information of the doctor who is giving treatment to the patient. The updated information about the patient health condition and their respective medications given by doctor is also recorded. '''Medication: '''This is the treatment given by the doctor to the patient according to the current health condition of the patient. '''SOEN 6471 Team J Summer 2013: '''This is owner of the iCare Application developed for the Montreal based children hospitals.The Team J will take decision about the system features through the system life cycle. '''SOEN 6471 Reviewing Team: '''The Reviewing Team review the iCare Application developed by the SOEN 6471 Team J to determine the capability of the team J and provide improvements for the application.